package com.juyu.miliao.common.util;

import com.alibaba.fastjson.JSONObject;
import com.github.qcloudsms.SmsSingleSender;
import com.github.qcloudsms.SmsSingleSenderResult;
import com.juyu.miliao.common.domain.CommonHead;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class SmsSender {

	private final Logger logger = LoggerFactory.getLogger("SmsSenderLog");
    private final Logger log = LoggerFactory.getLogger(SmsSender.class);
	private final String phoneNums;  //发送短信的电话号码
	private String msg;       //发送短信的内容
    private int templateId; //腾讯云模板id
    private String sms; //要发送的验证码


//    // 用户平台API账号(非登录账号,示例:N1234567)
//    private static String account = "N2220554";
//    // 用户平台API密码(非登录密码)
//    private static String password = "0vZ1au3sqTa100";

    private static final int appid = 1400218016;
    private static final String appkey = "d9c44a1b0fc5d1f3fb63f2ba437f36f0";

	
//	public SmsSender(String phoneNums,String msg){
//		this.phoneNums = phoneNums;
//		this.msg = msg;
//	}

    //绑定验证码 349689
    //注册验证码 349694
    //登录验证码 349836
    public SmsSender(String phoneNums,int templateId,String sms){
        this.phoneNums = phoneNums;
        this.templateId = templateId;
        this.sms = sms;
    }


    //腾讯云
    public void sendSms(CommonHead com,String sign){
	    try {
            //params 模板参数
            String[] params = {sms+""};
            SmsSingleSender sender = new SmsSingleSender(appid, appkey);
            SmsSingleSenderResult result = sender.sendWithParam("86", phoneNums,
                    templateId, params, sign, "", "");
            JSONObject json = JSONObject.parseObject(result.toString());
            logger.info(phoneNums + " " + templateId + " " + json.get("result").toString()
                    + " " + com.getChannel() + " " + com.getIp() + " " + com.getDeviceNo());
        }catch (Exception e){
            log.error(e.getMessage());
        }

    }

    //253云通讯
//    public void sendSms(){
//        logger.info("发送验证码："+phoneNums+"---发送内容："+msg);
//        //请求地址请登录253云通讯自助通平台查看或者询问您的商务负责人获取
//        String smsSingleRequestServerUrl = "http://smssh1.253.com/msg/send/json";
//        // 短信内容
////        String msg = "【253云通讯】你好,你的验证码是123456";
//        //手机号码
////        String phone = "159********";
//        //状态报告
//        String report= "true";
//        SmsSendRequest smsSingleRequest = new SmsSendRequest(account, password, msg, phoneNums,report);
//        String requestJson = JSON.toJSONString(smsSingleRequest);
//        String response = ChuangLanSmsUtil.sendSmsByPost(smsSingleRequestServerUrl, requestJson);
//    }

	//短信网
//	public void sendSms(){
//		PrintWriter out = null;
//        BufferedReader in = null;
//        String result = "";
//        try {
//            URL realUrl = new URL("http://web.duanxinwang.cc/asmx/smsservice.aspx");
//            // 打开和URL之间的连接
//            URLConnection conn = realUrl.openConnection();
//            // 设置通用的请求属性
//            conn.setRequestProperty("accept", "*/*");
//            conn.setRequestProperty("connection", "Keep-Alive");
//            conn.setRequestProperty("user-agent",
//                    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
//            // 发送POST请求必须设置如下两行
//            conn.setDoOutput(true);
//            conn.setDoInput(true);
//            // 获取URLConnection对象对应的输出流
//            out = new PrintWriter(conn.getOutputStream());
//            // 发送请求参数
//            String param = "name=dxwchaoyi&"     //必填参数。用户账号
//            		+ "pwd=80CFFBA96C0AB33E1A43E0B7304C&"  //必填参数。（web平台：基本资料中的接口密码）
//            		+ "content="+msg+"&"     //必填参数。发送内容（1-500 个汉字）UTF-8编码
//            		+ "mobile="+phoneNums+"&" //必填参数。手机号码。多个以英文逗号隔开
//            		+ "stime=&"  //可选参数。发送时间，填写时已填写的时间发送，不填时为当前时间发送
//            		+ "sign=寻寻&"  //必填参数。用户签名。
//            		+ "type=pt&"   //必填参数。固定值 pt
//            		+ "extno=";   //可选参数，扩展码，用户定义扩展码，只能为数字
//
//            out.print(param);
//            // flush输出流的缓冲
//            out.flush();
//            // 定义BufferedReader输入流来读取URL的响应
//            in = new BufferedReader(
//                    new InputStreamReader(conn.getInputStream()));
//            String line;
//            while ((line = in.readLine()) != null) {
//                result += line;
//            }
//        } catch (Exception e) {
//            logger.error("发送 短信请求出现异常！",e);
//        }
//        //使用finally块来关闭输出流、输入流
//        finally{
//            try{
//                if(out!=null){
//                    out.close();
//                }
//                if(in!=null){
//                    in.close();
//                }
//            }
//            catch(IOException ex){
//            	logger.error("发送 短信请求出现异常！",ex);
//            }
//        }
//        logger.info("短信接口回调信息:result={}",result);
//	}
}
